package com.pureut.equipment.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.pureut.equipment.domain.DeviceRecord;
import com.pureut.equipment.domain.dto.DeviceOperationDto;
import com.pureut.equipment.domain.dto.DeviceRecordDto;
import com.pureut.equipment.domain.dto.GetDeviceInfoDto;
import com.pureut.equipment.domain.vo.DeviceRecordVo;
import com.pureut.equipment.domain.vo.ReturnDeviceStatusVo;

import java.util.List;

/**
 * @author: CM
 * @date: 2023/2/13    11:21
 */
public interface DeviceRecordService extends IService<DeviceRecord> {

    /**
     * 设备台账列表
     * @param deviceRecordVo
     * @return
     */
    List<DeviceRecordDto> getList(DeviceRecordVo deviceRecordVo);

    /**
     * 设备台账新增
     * @param deviceRecordVo
     * @return
     * @throws Exception
     */
    int deviceAdd(DeviceRecordVo deviceRecordVo) throws Exception;

    /**
     * 设备台账修改
     * @param deviceRecordVo
     * @return
     */
    int deviceEdit(DeviceRecordVo deviceRecordVo);

    /**
     * 设备台账查看
     * @param id
     * @return
     */
    DeviceRecordDto view(long id);

    /**
     * 删除设备台账信息
     * @param ids
     * @return
     */
    int remove(String ids);

    /**
     *
     * @param lineCode
     * @return
     */
    DeviceRecordDto getLine(String lineCode);

    /**
     * 根据设备编码查出设备名称,设备类型，属性列表
     * @param deviceCode
     * @return
     */
    GetDeviceInfoDto getDeviceInfo(String deviceCode);

    /**
     * 设备运行情况
     * @param lineCode
     * @return
     */
    List<DeviceOperationDto> getDeviceCondition(String lineCode);

    /**
     * 修改状态（根据编码修改还是id后面加）
     * @return
     */
    boolean updateEquipmentOperationStatus(int status);

    /**
     * 设备状态回传（fegin）
     */
    boolean returnDeviceStatus(ReturnDeviceStatusVo returnDeviceStatusVo);
}
